"""

@name:回合制游戏
@author:weihong
@projectname:haizeiwang
"""

class User(object):
    """角色类
    基本信息：名字，性别，血量，装备，加入的房间
    行为（方法）：
    战斗 攻击
    """
    def __init__(self, name, sex, equip='n', blood=100):
        self.name = name
        self.sex = sex
        self.equip = equip
        self.blood = blood
        self.room = None  #角色所在的房间

    def attack(self, other):  #传入用户实例
        # 两人在一个房间
        if self.room == other.room:
            # 另一个人不是自己
            if self != other:
                #两人都活着
                if self.blood > 0 and other.blood > 0:
                    if other.equip == 'n':
                        other.blood -= 10
                    else:
                        other.blood -= 5
                    print(f"{self.name}攻击{other.name}，目前{self.name}还剩{self.blood},{other.name}还剩{other.blood}")
                else:
                    print("两人中有一人已死亡，不能进行对战")
            else:
                print("不能攻击自己哦")
        else:
            print("两人不在同一个房间哦")




class Room(object):
    """房间类
    基本信息：房间名
    行为：
    角色加入房间
    """
    def __init__(self, name):
        self.name = name
        self.member = []  #房间内的角色

    def join_room(self, user):  #传入用户实例
        if user.room == None:
            if 0 <= len(self.member) < 2:    #房间上限2人
                self.member.append(user)
                user.room = self.name        #用户所在房间就是本房间
                print(f"恭喜你，加入房间成功\n")
            else:
                print("房间已满，加入房间失败")
        else:
            print("该用户已经在房间")


print("欢迎来到游戏界面~")
user_info = {}
room_info = {}
while 1:
    choice = input("""请输入您的选择：
    1.创建角色
    2.创建房间
    3.加入房间
    4.开始战斗
    5.退出
    """)

    if choice.isdigit() and 1 <= int(choice) <= 5:
        choice = int(choice)
        if choice == 1:
            print("欢迎来到创建角色界面，自定义你想要的角色吧~")
            name = input("请输入您的角色名称：")
            sex = input("请输入您的性别（女：f 男：m）：")
            equip = input("穿戴防弹衣装备请输'y'，不穿防弹衣装备请输'n'：")
            blood = int(input("请自定义您的血量（1~100）："))
            user1 = User(name, sex, equip, blood)
            user_info[user1.name] = user1
            print(f"角色创建成功，角色名：{user1.name} 性别：{user1.sex} 血量：{user1.blood} 防弹衣穿戴情况：{user1.equip}\n")

        if choice == 2:
            print("创建您的房间吧~")
            room_name = input("请输入您要创建的房间名：")
            #将创建好的房间添加到room_info中{房间名：房间实例}
            room_info[room_name] = Room(room_name)
            print("恭喜您，房间创建成功\n")

        if choice == 3:
            print(f"当前角色有{user_info.keys()},已创建的房间有{room_info.keys()}")
            join_user = input("请选择要加入房间的角色：")
            join_room = input("请输入您要加入的房间：")
            room_info[join_room].join_room(user_info[join_user])

        if choice == 4:
            print(f"当前有房间{room_info.keys()}")
            room_name = input("请输入要进行对战的房间的名字：")
            if len(room_info[room_name].member) == 2:  #如果房间有两人，则可以开始对战
                #while 1:
                room_info[room_name].member[0].attack(room_info[room_name].member[1])
                room_info[room_name].member[1].attack(room_info[room_name].member[0])
            else:
                print("房间人数不足2人，对战失败")
                continue

        if choice == 5:
            print("退出对战")
            break

    else:
        print("请输入对应的数字哦")












